# input/handle_keyboard.py
# 检测用户键盘输入，返回对应的动作指令
# 支持：A（左移）、D（右移）、W（跳跃）
# 返回动作名称，便于后续传递给物理模块

import pygame

def handle_keyboard():
    """
    检测当前键盘输入，返回建议执行的动作

    返回值:
        str: 动作名称，可选值：
            'left'  : 按下 A 键
            'right' : 按下 D 键
            'jump'  : 按下 W 键（且只在按下瞬间返回，避免持续跳跃）
            'none'  : 无相关按键按下
    """
    # 获取当前所有按下的键状态
    keys = pygame.key.get_pressed()

    # 初始化动作为“无”
    action = 'none'

    # 检测移动键（可同时按，但跳跃通常只响应一次）
    if keys[pygame.K_a] or keys[pygame.K_LEFT]:
        action = 'left'
    elif keys[pygame.K_d] or keys[pygame.K_RIGHT]:
        action = 'right'

    # 检测跳跃键（W 或 上箭头）
    # 注意：这里返回 'jump' 仅表示“用户想跳”，具体能否跳由物理模块判断（如是否在地面）
    if keys[pygame.K_w] or keys[pygame.K_UP]:
        action = 'jump'

    return action